import { SLKability } from "../types/ability"
import { SLKbuff } from "../types/buff"
import { SLKdestructable } from "../types/destructable"
import { SLKdoodad } from "../types/doodad"

import { SLKitem } from "../types/item"
import { SLKmisc } from "../types/misc"
import { SLKtxt } from "../types/txt"
import { SLKunit } from "../types/unit"
import { SLKupgrade } from "../types/upgrade"
import { Lni } from "./Lni"

export type slkTitle = "ability"
    | "buff"
    | "destructable"
    | "doodad"
    | "item"
    | "misc"
    | "txt"
    | "unit"
    | "upgrade"

export type SLKOption = SLKability
    | SLKbuff
    | SLKdestructable
    | SLKdoodad
    | SLKitem
    | SLKmisc
    | SLKtxt
    | SLKunit
    | SLKupgrade

// 抽取key

export type SlkKey = keyof SLKOption


export function tslk_ability(option: SLKability) {
    genLni("ability", option);
}
export function tslk_buff(option: SLKbuff) {

}
export function tslk_destructable(option: SLKdestructable) {

}
export function tslk_doodad(option: SLKdoodad) {

}
export function tslk_item(option: SLKitem) {

}
export function tslk_misc(option: SLKmisc) {

}
export function tslk_txt(option: SLKtxt) {

}
export function tslk_unit(option: SLKunit) {

}
export function tslk_upgrade(option: SLKupgrade) {

}

function genLni(title: slkTitle, data: SLKOption) {
    let lni = new Lni();
    lni.genLni(title, data);
}
